#ifndef _SIGNAL_STATUS_H_
#define _SIGNAL_STATUS_H_

typedef enum
{
    SIGNAL_STATUS_UNLOCK = 0,
    SIGNAL_STATUS_LOCK,
}signal_lock_status;

typedef enum
{
    SIGNAL_STATUS_SCRAMBLED = 0,
    SIGNAL_STATUS_UNSCRAMBLED,
}signal_scramble_status;


typedef enum
{
    SIGNAL_STATUS_LNBSHORT = 0,
    SIGNAL_STATUS_LNBNORMAL
}signal_lnbshort_status;

typedef enum
{
    
    SIGNAL_STATUS_PARENT_UNLOCK = 0,
    SIGNAL_STATUS_PARENT_LOCK
}signal_parentlock_status;

#ifdef PARENTAL_SUPPORT
typedef enum
{
    
    SIGNAL_STATUS_RATING_UNLOCK = 0,
    SIGNAL_STATUS_RATING_LOCK
}signal_ratinglock_status;

typedef enum
{
    
    SIGNAL_STATUS_PVR_RATING_UNLOCK = 0,
    SIGNAL_STATUS_PVR_RATING_LOCK
}signal_pvr_ratinglock_status;
#endif

enum VDEC_PIC_STATUS
{
	VDEC_PIC_NO_SHOW,
	VDEC_PIC_NORMAL,
	VDEC_PIC_FREEZE,
};

enum VDEC_PIC_STATUS key_get_video_status(UINT32 *start_time);
BOOL key_get_dmx0_scramble(UINT32 *start_time);

BOOL GetSignalStatus(  signal_lock_status* lock_flag,
                        signal_scramble_status* scramble_flag,
                        signal_lnbshort_status* lnbshort_flag,
                        signal_parentlock_status* parrentlock_flag
#ifdef PARENTAL_SUPPORT
                        ,signal_ratinglock_status* ratinglock_flag
#endif
                        );

void SetChannelParrentLock(signal_parentlock_status parrentlock_flag);

BOOL GetChannelParrentLock();

#ifdef PARENTAL_SUPPORT
void SetRatingLock(signal_ratinglock_status ratinglock_flag);
BOOL GetRatingLock();
#endif

void SetLNBShortDetect(UINT32 flag);
void SetLNBShortDetectStart(UINT32 flag);


void GetSignalStatusRect(OSD_RECT* rect);

void SetChannelNimBusy(UINT32 flag);
void shift_signal_osd(void);
void restore_signal_osd(void);
#endif//_SIGNAL_STATUS_H_


